NSCL

Standard NSCL directory Structure.

 

NSCL data is taken split across two Raid sets.  A "staging area".. referred to from now on as $StageArea contains the large raw event files.  This is pointed to by a link in the experiment's home directory named stagarea.  The experimental account's experiment subdirectory contains the remainder of the data.  The full Directory tree produced is:

$StageArea/
    complete/       - Directory holding complete event files which have not been staged to tape.
    current/        - Directory holding the event file for a run in progress.
    retained/       - Directory holding event files for retained staged runs.
    orphans/        - Directory holding orphaned files.
~/experiment      
    current/        - Directory holding everything needed to create the event file
    run*/           - Directories or links to directories for complete runs (run5 e.g.).
    staged/         - Directories which have been staged are here. 
                      links to ~/experiment/staged/run* are created in ~/experiment/run*
    orphans/        - Orphaned files.

The stager and run control gui application automatically manage this directory structure. They take significant action at the following times:

In the discussions which follow, assume that the run number is $run.

Startup actions

On startup, the stager creates this directory hierarchy if it does not already exist.  If it does exist, $StageArea/complete is cleaned up as described here. ~/experiment/current also has event file links cleaned up.

 

Top

Run Start Actions

When a run is started, the event file for the run is written in $StageArea/current/run$run-4096.evt  (4096 indicates the data buffers are 4096 words long).  A link to this file,  is created in ~/experiment/current/run$run-4096.evt.  This link allows the run file to appear as if it were local.

Top

Run End Actions

When a run ends:

Thus the ~/experiment/run$run/ file is a snapshot of the current directory at the time the run ended.

Top

Stage Pass Actions

Staging is the process of:

·          Rolling data out to tape.  

·         Cleaning up the stage area to make room for new event data.

Staging can be performed automatically as described here, or it can be initiated manually.  The Stager maintains a list of runs called the retension list.  The intent is that runs in the retentions list are reference runs which are being actively analyzed during data taking.  Staging performs the following actions:

·         All ~/experiment/run* directories are staged out to tape using tar in a manner which follows links.   Thus experiment/run* files contain the event data along with all of the files which the experimenter considered significant in creating the run at the time the run ended (see above).

·         All ~/experiment/run* directories are moved to ~/experiment/staged, identically named links to these directories are created in ~/experiment so that you can still access the data as if it had not yet been staged.

·         All event data not in the retention list is deleted, as are the links to them in the ~experiment/staged/run*directories.

·         Event data in the retention list is moved into $StageArea/retained, and the link in the associated ~experiment/staged/run* directories is fixed up to point to that file.

The end result of a stage is that you can still access all data except the raw event files for runs which are not retained.  Runs which were retained can be accessed normally.

Top


July 11, 2001Fox@nscl.msu.edu
NSCL Computer Group